package com.ai.langchain4j.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;

public class DoctorSchedule {
    @TableId(type = IdType.AUTO)

    private Integer id;
    
    private String department; // 科室
    
    private String doctorName; // 医生姓名
    
    private String title; // 职称
    
    private String scheduleDate; // 出诊日期
    
    private String startTime; // 出诊开始时间
    
    private String endTime; // 出诊结束时间
    
    private String scheduleType; // 出诊类型
    
    private String location; // 出诊地点
    
    private String remarks; // 备注
    
    // 关联号源时段明细，一对多关系
    @TableField(exist = false)
    private List<ScheduleTimeSlot> timeSlots = new ArrayList<>();

    // 构造方法
    public DoctorSchedule() {}

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getScheduleDate() {
        return scheduleDate;
    }

    public void setScheduleDate(String scheduleDate) {
        this.scheduleDate = scheduleDate;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getScheduleType() {
        return scheduleType;
    }

    public void setScheduleType(String scheduleType) {
        this.scheduleType = scheduleType;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public List<ScheduleTimeSlot> getTimeSlots() {
        return timeSlots;
    }

    public void setTimeSlots(List<ScheduleTimeSlot> timeSlots) {
        this.timeSlots = timeSlots;
    }

    public DoctorSchedule(Integer id, String department, String doctorName, String title, String scheduleDate, String startTime, String endTime, String scheduleType, String location, String remarks, List<ScheduleTimeSlot> timeSlots) {
        this.id = id;
        this.department = department;
        this.doctorName = doctorName;
        this.title = title;
        this.scheduleDate = scheduleDate;
        this.startTime = startTime;
        this.endTime = endTime;
        this.scheduleType = scheduleType;
        this.location = location;
        this.remarks = remarks;
        this.timeSlots = timeSlots;
    }
}
